package com.tangguangdi.base.common.core;

import com.tangguangdi.base.common.annotation.Note;
import com.tangguangdi.base.common.basic.PermissionRule;
import com.tangguangdi.base.common.basic.PermissionTimeFilter;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 接口定义类
 */
@Data
@Accessors(chain = true)
public class ApiDefinition implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 无参构造器
     */
    public ApiDefinition(){}
    /**
     * 方法名称
     */
    private String code;
    /**
     * 接口名称
     */
    private String name;
    /**
     * 方法名称
     */
    private String path;
    /**
     * 接口路径
     */
    private String url;
    /**
     * 请求方法
     */
    private String method;
    /**
     * 鉴权规则
     */
    private PermissionRule rule = PermissionRule.Login;
    /**
     * 时间过滤
     */
    private PermissionTimeFilter timeFilter = PermissionTimeFilter.AllDay;
    /**
     * 时间设置
     */
    private String timeSet = "";
    /**
     * 请求参数
     */
    private List<ApiParameter> apiParameters = new ArrayList<>();

}
